// pages/detail/detail.js
var WxParse = require('../wxParse/wxParse.js');
import utils from "../../utils/util"
import {detailapi,addcarapi,detailevaluateapi} from "../../utils/api"
Page({

    /**
     * 页面的初始数据
     */
    data: {
        tabid:1, //商品和评价的id
        page:1,//评价的页码
        total:"",//每一个状态的数据总数
        has: false,//数据还有没有
        assessid:0,//评价分类选择id 
        hidedata:false,//规格是否弹出
        tasteid:0,//规格的id选择
        leval:["全部","好评","差评"],//评价筛选数组
        currentSwiper: 0,//轮播的索引
        autoplay: true,//自动轮播
        detail:[],//详情页的数据
        totalnum:"",//库存数量
        levalarr:[],//评价的数组
        evaluate_type:0,//给后台传的评价id
        good:{
            goods_id:"",//商品的idgoods_id
            car_num:1,//购买的数量car_num
            sku_id:""//规格的idsku_id
        }//立即购买提交的数据

    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        console.log(options.id);
        
        this.data.good.goods_id = options.id
        this.setData({
            good:this.data.good
        })
       this.detailfn({goods_id:options.id})
       
    },
    // 详情页面数据请求
    async detailfn(data){
        var that = this
        const res = await detailapi(data)
        if(res.data.code==200){
            console.log(res.data.data);
            wx.hideLoading()
            var array = res.data.data.sku
            for (let i = 0; i < array.length; i++) {
                array[i].spec_show = array[i].spec_show.join("-");
            }
             if (res.data.data.goods_imgs==null) {
                res.data.data.goods_imgs=[]
             }
            res.data.data.goods_imgs.unshift(res.data.data.goods_img)
            this.data.good.sku_id = array[0].goods_sku_id
            this.setData({
                detail:res.data.data,
                good:this.data.good,
                totalnum:array[0].goods_sku_stock
            })
            WxParse.wxParse('content', 'html', res.data.data.goods_info, that, 0);
            console.log(this.data.good,this.data.totalnum);
        }else{
            wx.hideLoading()
            utils.wxshowtoast("数据请求失败")
            this.setData({
                detail:[]
            })
        }
    },
    // 详情页面评价数据的请求
    async detaillevalatefn(data){
        const res = await detailevaluateapi(data)
        wx.hideLoading()
        if(res.data.code == 200){
            console.log(res.data.data);
            this.setData({
                total:res.data.data.total,
                levalarr:[...this.data.levalarr,...res.data.data.data]
            })
        }else{
            utils.wxshowtoast("数据请求失败")
        }
         // 判断第一页只有几条数据的情况
         if(this.data.levalarr.length<5){
            this.setData({
                has:true
            }) 
        }   
    },
    // 评价的上拉加载
    scroll(){
        if(this.data.tabid==2){
            if(this.data.total===this.data.levalarr.length){
                this.setData({
                    has:true
                }) 
                return
            }
            this.detaillevalatefn({
                goods_id:this.data.good.goods_id,
                evaluate_type:this.data.evaluate_type,
                page_size:5,
                page:++this.data.page
            })
        }
    },
    // 购物数量加减
    addnum(e){
       var num= this.data.good.car_num 
       if(e.currentTarget.dataset.num==0){
        if(num<=1){
          return utils.wxshowtoast("商品数量不能小于1")
        }
        num--
        this.data.good.car_num = num
         this.setData({
             good:this.data.good
         })
      }else{
        if(num>=this.data.totalnum){
         return utils.wxshowtoast("库存不足")
        }
        num++
        this.data.good.car_num = num
         this.setData({
             good:this.data.good
         })
      }
    },
    // 页面跳转
    geturl(e){
     var url = "/pages/"+e.currentTarget.dataset.url+"/"+e.currentTarget.dataset.url
        wx.reLaunch({
            url: url
        })
    },
    // 提交订单
    getorder(){
        
        if(wx.getStorageSync('openid')==""){
            console.log(0);
            wx.navigateTo({
                url: "/pages/login/login"
            })
            return 
        }
        if(this.data.totalnum<=0){
        return utils.wxshowtoast("库存不足")
        }
        var order = {
            goods_sku_id:this.data.good.sku_id,
            goods_num:this.data.good.car_num
        }
        wx.navigateTo({
            url: "/pages/order/order?order="+JSON.stringify(order)
        })
    },
    // 加入购物车
   async addcar(){
        if(wx.getStorageSync('openid')==""){
            console.log(0);
            wx.navigateTo({
                url: "/pages/login/login"
            })
            return 
        }
        console.log(this.data.good);
        const res = await addcarapi(this.data.good)
        console.log(res.data);
        if(res.data.code==200){
            wx.hideLoading()
            utils.wxshowtoast("成功加入购物车")
        }else if(res.data.code==0){
            console.log(0);
            wx.hideLoading()
            utils.wxshowtoast(res.data.msg)
        }else{
            utils.wxshowtoast(res.data.msg)
            wx.hideLoading()
        }
        
    },
    // 规格显示
    show(){
        this.setData({
          hidedata:true
        })
      },
    //   规格隐藏
    hide(){
        this.setData({
            hidedata:false
        })
    },
    // 商品与评价切换
    detailbtn(e){
        // tabid商品和评价的id
        this.setData({
            tabid:e.currentTarget.dataset.tabid,
            levalarr:[]
        })
        if(e.currentTarget.dataset.tabid==2){
            this.detaillevalatefn({
                goods_id:this.data.good.goods_id,
                evaluate_type:0,
                page_size:5,
                page:this.data.page
            })
        }
        
    },
    // 评价分类选择
    assessbtn(e){
        console.log(e.currentTarget.dataset.assessid);
        this.setData({
            assessid:e.currentTarget.dataset.assessid,
            levalarr:[],
            page:1,
            evaluate_type:e.currentTarget.dataset.assessid
        })
        this.detaillevalatefn({
            goods_id:this.data.good.goods_id,
            evaluate_type:e.currentTarget.dataset.assessid,
            page_size:5,
            page:this.data.page
        })
    },
    // 规格选择
    tastecative(e){
        console.log(e.currentTarget.dataset.index,e.currentTarget.dataset.skuid,e.currentTarget.dataset.totalnum)
        this.data.good.sku_id = e.currentTarget.dataset.skuid
        this.data.good.car_num = 1
        this.setData({
            good:this.data.good,
            tasteid:e.currentTarget.dataset.index,
            totalnum:e.currentTarget.dataset.totalnum
        })
        console.log(this.data.good,this.data.totalnum);
     },
    //  评价图片预览
    preview:function(e){
        var index = e.currentTarget.dataset.index;
        var imgArr =e.currentTarget.dataset.obj;
        wx.previewImage({
          current: imgArr[index],     //当前图片地址
          urls: imgArr,               //所有要预览的图片的地址集合 数组形式
          success: function(res) {
            console.log(res)
          },
          fail: function(res) {},
          complete: function(res) {},
        })
      },
    //   图片预览选择索引
    swiperChange: function (e) {
        this.setData({
        currentSwiper: e.detail.current
        });
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})